This invention relates to a method of controlling a sparse vector rasterizer.
An oscilloscope presents the activity of an electrical signal to its user. Referring to FIG. 1, a conventional raster scan digital oscilloscope includes a display panel 10 having a two-dimensional array of pixels, with each pixel location being uniquely defined by a row number and a column number. The oscilloscope also includes a raster scan memory 14 having a two-dimensional address space. The memory locations in the raster scan memory map on a one-to-one basis with the pixel locations of the display panel 10. The state of each pixel depends on the contents of the corresponding memory location in the raster scan memory 14.
In the case of the oscilloscope shown in FIG. 1, the raster scan memory stores n bits of information for each pixel, where n is an integer greater than one, which allows each pixel to have 2n illumination states. One of the states is off, and in the other 2nxe2x88x921 states, the pixel is illuminated at different respective intensities. Thus, for example, a 4-bit deep raster scan memory can support fifteen levels of partial to maximum illumination (gray scale levels) as well as the dark or off state.
Depending on the nature of the signal and the settings of the oscilloscope, a given column of pixels may contain one or more illuminated pixels (hereinafter referred to as dots). Each column displays a vector, defined as the segment of the column between the uppermost dot in the column and the lowermost dot in the column. The vector has a length (in pixel units) equal to one plus the difference between the row numbers of the top and bottom dots in the column. Thus, if the column contains only one dot, the vector has a length of one unit.
The digital oscilloscope shown in FIG. 1 also includes an A/D converter 18 having an input terminal for acquiring an electrical signal at a test point in an electronic circuit. The A/D converter samples the signal during an acquisition interval and quantizes the samples to generate a sequence of digital data words. The data words generated by the A/D converter and having values D1-DN are stored as a linear waveform record in an acquisition memory 22 having a one-dimensional address space A1-AN.
When the acquisition is complete, the linear waveform record stored in the acquisition memory is supplied to a rasterizer 26 which generates a rasterized waveform record and stores it in a rasterizer memory 30 having a two-dimensional address space (X1-XN, Y1-YN). (The common suffix N is used for economy and is not intended to indicate that the number of elements in the set {Xi}, for example, is the same as the number of elements in the set {Ai}.) The X component of the address of a data word in the rasterized waveform record stored in the rasterizer memory 30 is derived from the address Ai of at least one word of the linear waveform record and the Y component of the address is derived from the value Di of at least one word of the linear waveform record.
Each combination of addresses (Xi, Yi) at which a data word is stored in the rasterizer memory 30 represents an event, characterized by a unique combination of time (dependent on Xi) and signal level (dependent on Yi).
The rasterized waveform record may be added to an existing display record stored in the raster scan memory 14 to control the state of the display panel 10. Referring to FIGS. 2A-2C, in which the numerical values designate units of intensity, FIG. 2A represents the original display record for three adjacent columns of the display panel prior to addition of the rasterized waveform record for a new acquisition, FIG. 2B represents the rasterized waveform record for the corresponding interval of the new acquisition, and FIG. 2C represents the updated display record obtained by adding the rasterized waveform record of FIG. 2B to the display record of FIG. 2A. Thus, if the same event occurs during multiple acquisitions, the value of the data word representing that event in the raster scan memory 14 increases.
As also shown in FIG. 1, the contents of the raster scan memory may be influenced by a decay process 34, which reduces the value stored at each location in the raster scan memory by a selected amount per unit time, so that events that occur only infrequently will be shown with reduced intensity as compared with events that occur more frequently.
The oscilloscope includes a controller 38, which controls operation of the other components shown in FIG. 1, and operator controls 42 which allow the user to adjust the settings of the oscilloscope. The controller 38 is implemented as a state machine, which advances from one state to another in accordance with a stored program and in dependence on inputs received by the state machine.
In one known technique of rasterizing, referred to as the dot mode, the address (Xi, Yi) of a data word of the rasterized waveform record is derived from a single data-address pair of the linear waveform record. Thus, the data words in the rasterized waveform record correspond on a one-to-one basis with the data-address pairs of the linear waveform record.
It is generally considered desirable that the waveform presented to the user of an oscilloscope be substantially continuous, without significant horizontal or vertical gaps between dots. However, when the rasterizer operates in the dot mode, there may be gaps between dots in the display. Accordingly, depending on the signal and the settings of the oscilloscope, the dot mode of rasterizing may not be considered optimum.
In another known mode, referred to as the full vector mode, the rasterized waveform record includes not only data words derived respectively from the data-address pairs of the linear waveform record but also additional data words which are synthesized by the rasterizer to ensure that the waveform is continuous, so that an end point of a vector is offset vertically from the end point of an adjacent vector by no more than one pixel, and all the pixels between the two end points of the vector, as well as the two end points themselves, are illuminated.
The advantage of full vector mode rasterization is also a disadvantage: since there are no gaps in a vector created by the rasterizer, rasterization may require many memory accesses, delaying completion of rasterization.
U.S. Pat. No. 6,104,374, the entire disclosure of which is hereby incorporated by reference herein, discloses a sparse vector mode of rasterizing in which the end points of a vector may be vertically offset from an adjacent vector by more than one pixel and there may be a gap of one or more pixels between two dots in a given vector. Randomization is built into the sparse vector mode, so that even if the linear waveform records for successive acquisitions are identical, the respective arrays of dots will generally not be precisely the same, and gaps in a vector created on one acquisition will be filled in on a subsequent acquisition. An advantage of the sparse vector mode is that it reduces the number of dots that are generated during rasterizing of an acquisition and therefore reduces the time taken to rasterize the acquisition.
One of the variables used in processing the linear waveform record to generate the rasterized waveform record in sparse vector rasterization is the maximum number of dots per vector. The quality of the display increases as the maximum number of dots per vector increases, because with more dots per vector, there are smaller gaps between adjacent dots in a vector. In a practical implementation of the oscilloscope shown in FIG. 1, the maximum number of dots Dmax is specified by the variable M, where Dmax is equal to 2{circumflex over ( )}M. In this practical implementation, there are 500 pixels in each column and the maximum value of M is 9, so that Dmax exceeds 500 and it is therefore possible to display a full height vector in full vector mode.
In the sparse vector mode, the actual number of dots per vector may be less than the Dmax. Generally, as the actual number of dots per vector increases, the time taken to process the linear waveform record to generate the rasterized waveform record increases and conversely, as the actual number of dots per vector decreases, the time taken to process the linear waveform record decreases.
Regardless of the mode of rasterization, the oscilloscope operates in a succession of cycles. At the start of each cycle, the acquisition memory is available to receive a linear waveform record for a new acquisition. During a given cycle, the acquisition memory 22 stores the linear waveform record for the current acquisition (acquisition n) and the rasterizer memory 30 stores the latest completed acquisition (acquisition nxe2x88x921) while it is being rasterized. When acquisition nxe2x88x921 has been rasterized, the rasterized waveform record for acquisition nxe2x88x921 can be supplied to the raster scan memory 14 and the linear waveform record for acquisition n can then be supplied to the rasterizer. The next cycle, in which the linear waveform record for acquisition n+1 is stored in the acquisition memory, cannot start until the linear waveform record for acquisition n has been supplied to the rasterizer 26, and the linear waveform record for acquisition n cannot be supplied to the rasterizer 26 until the rasterized waveform record for acquisition nxe2x88x921 has been supplied to the raster scan memory 14.
In order to convey the maximum information to the user of an oscilloscope, it is necessary to maximize the acquisition rate, i.e. the number of acquisitions completed per unit time. Since a new acquisition cannot be started until the previous acquisition has been rasterized and has been supplied to the raster scan memory 14, it would be desirable to be able to adjust the rasterization time so that it does not delay start of the next acquisition. In order to provide a high quality display, it would be desirable to maximize the number of dots per vector.
In accordance with a first aspect of the invention there is provided an improved method of operating a signal acquisition instrument of the kind that acquires a succession of waveform records and sequentially transfers the waveform records to a rasterizer for rasterizing the waveform records to generate respective rasterized records each composed of a set of vectors, each vector being expressed by a selected maximum number of dots (M) greater than a minimum value Mmin, wherein the instrument inhibits transfer of a current waveform record to the rasterizer until a previous waveform record has been rasterized, and the improvement comprises making M as large as possible provided that the rasterizer does not complete rasterization of the previous waveform record after acquisition of the current waveform record is complete.
In accordance with a second aspect of the invention there is provided an improved method of operating a signal acquisition instrument of the kind that executes a succession of cycles, in each of which the instrument acquires a current waveform record and rasterizes a previous waveform record to generate a rasterized record composed of a set of vectors, each vector being expressed by a selected maximum number of dots (M) greater than a minimum value Mmin, and the cycle is not complete until acquisition of the current waveform record is complete and rasterization of the previous waveform record is complete, and the improvement comprises (a) choosing a variable representative of whether completion of a given cycle is being delayed by rasterization of the previous waveform record of the given cycle, wherein an increase in the value of the variable is associated with a increase in acquisition rate, (b) in a first cycle of operation, calculating the value of said variable, (c) if said value exceeds a threshold value, increasing M for a second cycle of operation, and (d) in the second cycle of operation, calculating the value of said variable and determining whether the value of said variable exceeds said threshold value.
In accordance with a third aspect of the invention there is provided a signal acquisition instrument of the kind that acquires a succession of waveform records and sequentially transfers the waveform records to a rasterizer for rasterizing the waveform records to generate respective rasterized records each composed of a set of vectors, each vector being expressed by a selected maximum number of dots (M) greater than a minimum value Mmin, wherein the instrument inhibits transfer of a current waveform record to the rasterizer until the previous waveform record has been rasterized, the signal acquisition instrument including a controller programmed to make M as large as possible provided that the rasterizer does not complete rasterization of the previous waveform record after acquisition of the current waveform record is complete.
In accordance with a fourth aspect of the invention there is provided a signal acquisition instrument of the kind that executes a succession of cycles, in each of which the instrument acquires a current waveform record and rasterizes a previous waveform record to generate a rasterized record composed of a set of vectors, each vector being expressed by a selected maximum number of dots (M) greater than a minimum value Mmin, and the cycle is not complete until acquisition of the current waveform record is complete and rasterization of the previous waveform record is complete, wherein the instrument includes a controller and the improvement comprises a controller programmed to choose the variable representative of whether completion of a given cycle is being delayed by rasterization of the previous waveform record of the given cycle, wherein an increase in the value of the variable is associated with a reduction in acquisition rate; in a first cycle of operation, calculate the value of said variable; if said value exceeds a threshold value, increase M for a second cycle of operation; and in the second cycle of operation, calculate the value of said variable and determine whether the value of said variable exceeds said threshold value.